Entonces, soy un nuevo programador de Django y me preguntaba cómo pasar un valor dado por el usuario desde un formulario a mi dirección URL usando el método Get.
Así que tengo esta barra de búsqueda, y cuando el usuario presiona enter, crea automáticamente una dirección URL de "? search_bar=user_input"
Pero mi urls.py, que está programado para tomar la variable user_input, ahora no reconoce mi dirección URL y mi dirección ya no coincide para continuar con view.py.
urls.py
urlpatterns = [ url(r'^class/(?P<user_input>\w+)', views.newview), ]Entiendo que no puede simplemente hacer lo siguiente porque no debe hacer coincidir la cadena de consulta con URL Dispatcher
urlpatterns = [ url(r'^class/?search_bar=(?P<user_input>\w+)', views.newview), ]¿Debería resolver este problema? ¿Cómo puedo hacer que url.py reconozca mi nueva dirección y lleve la entrada de usuario a views.py?
cuando hablamos de url como something/?search_bar=user_input , something/ es la parte de la url , y la parte ?search_bar=user_input pertenece al método GET , entonces:
urls.py
urlpatterns = [ url(r'^class/$', views.newview), ]y en tu view.py:
def newview(request): user_input = request.GET['user_input'] # or # user_input = request.GET.get('user_input', None)